# @Time    :2025/4/7 20:30
"""
练习题 4：多线程基础操作
使用 threading.Thread 创建三个线程，每个线程打印自己的名称和从 1 到 5 的数字，每个数字打印间隔 1 秒。
主程序等待所有线程执行完毕后，打印 "All threads finished"。
"""
import random
import threading
import time


def func():
    thread_name = threading.current_thread().name
    for i in range(1, 6):
        num = random.randint(1, 5)
        print(f"{thread_name}:{num}")
        time.sleep(1)


if __name__ == "__main__":
    # 创建线程对象
    t1 = threading.Thread(target=func, name="Thread 1")
    t2 = threading.Thread(target=func, name="Thread 2")
    t3 = threading.Thread(target=func, name="Thread 3")
    t1.start()
    t2.start()
    t3.start()

    t1.join()
    t2.join()
    t2.join()
    print("All threads finished")
